package com.moliku.insurance.model.dto.pingan.personal.insure;

import com.moliku.insurance.model.dto.InsuranceBaseParam;
import com.moliku.insurance.model.vo.pingan.personal.PingAnPersonalVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;


@Data
@ApiModel("平安个人意健险产品投保")
public class PingAnPersonalParam implements InsuranceBaseParam {

    @Override
    public Class responseType() {
        return PingAnPersonalVo.class;
    }

    @Override
    public String url() {
        return "/open/appsvr/property/applyPolicyNoPay";
    }

    @Override
    public METHOD methodType() {
        return METHOD.POST;
    }

    @Override
    public FORMAT formatType() {
        return FORMAT.JSON;
    }

    /**
     *合作伙伴用户名,平安提供,
     *【必填】
     */
    @ApiModelProperty("合作伙伴用户名平安提供")
    @NotBlank(message ="合作伙伴用户名,平安提供,不能为空")
    private String partnerName="P_BYBY_PE";

    /**
     *机构编码,平安提供,
     *【必填】
     */
    @ApiModelProperty("机构编码平安提供")
    @NotBlank(message ="机构编码,平安提供,不能为空")
    private String departmentCode="2045713";

    /**
     *{
     *【投保人信息-必填】
     */
    @ApiModelProperty("{")
    @NotBlank(message ="{不能为空")
    private PingAnApplicantInfoParam applicantInfo;

    /**
     *【必填】
     */
    @ApiModelProperty("保险列表")
    @NotNull(message ="列表为空")
    private List<PingAnProductInfoListParam> productInfoList;
}
